跳到主要内容

Grover 算法

阐述

问题

在解空间 {0,,N1}\{0,\cdots,N-1\} 中寻找满足 f(x)=1f(x)=1 的解,其中 N=2nN=2^n

算法

Ox={x if x is a solution, x otherwise. O|x\rangle=\left\{\begin{aligned}-|x\rangle & \text { if } \mathrm{x} \text { is a solution, } \\|x\rangle & \text { otherwise. } \end{aligned}\right.
  1. 令起始态为ψ=1Ni=1N1i|\psi\rangle=\frac{1}{\sqrt{N}} \sum_{i=1}^{N-1}|i\rangle
  2. 进行 Grover 迭代若干次
    1. 应用黑箱
    2. 应用 HnH^{\otimes n}
    3. 应用反射变换 200I2|0\rangle\langle 0|-I
    4. 应用 HnH^{\otimes n}

解释

设我们将所有态分为非解和解两组,则有

ψ=NMNα+MNβ.|\psi\rangle=\frac{\sqrt{N-M}}{\sqrt{N}}|\alpha\rangle+\frac{\sqrt{M}}{\sqrt{N}}|\beta\rangle .

OO 是沿非解态反射,而 2ψψI2|\psi\rangle\langle\psi|-I 是沿 ψ|\psi\rangle 反射,另设

sin(θ2)=MN,\sin \left(\frac{\theta}{2}\right)=\frac{\sqrt{M}}{\sqrt{N}},

则在该平面上角度转动了 θ\theta。因此该迭代应该运行

π22MNπ4NM\frac{\frac{\pi}{2}}{2 \frac{\sqrt{M}}{\sqrt{N}}} \approx \frac{\pi}{4} \frac{\sqrt{N}}{\sqrt{M}}

次。另外,如果不知道 NNMM 的关系,只需要重复足够多的次数,测量就能得到随机的一个解。

最优性

Grover 算法是几乎最优的,这表现为任何能完美分辨出 x|x\rangle 的算法都至少需要 N\sqrt N 次黑箱运算。

实例

性质

相关内容

参考文献